其他
旧手机别卖掉换脸盆了,自制服务器了解一下!
作者 | Hannah Lee
并没有那么旧(你会像换手机那样一两年就换一台电脑吗?) 有 4-8 个处理器和大约 4GB 的内存,以及内置 UPS。只需要再加一个外部硬盘驱动,就可以备份整个家庭的网络了!
文件系统只能使用 EXT4。这是唯一兼容 UrBackup 和 Android 的文件系统。因此没有文件系统级别的压缩等功能。 从 chroot 环境下无法直接调用 systemd。我们会安装一个简单的启动脚本,启动 UrBackup 服务,并使用 pkill 停止服务。此外,我们还会添加一个 cronjob,在系统启动时启动服务。 UrBackup 主要以 Windows 为主。虽然它提供 Linux 的完整备份功能,但其 Linux 版本的完整镜像依然是 beta 版状态。此处我们会安装稳定版,所以我们的服务器无法支持利用 Linux 客户端进行完整镜像备份。但是,你可以在客户端上创建备份镜像,然后备份含有这些镜像的目录。最后,UrBackup 团队也在开发 Mac 客户端支持,但同样是beta 版。对于我来说,我没有 Windows 服务器,我也不想备份我的Windows 笔记本电脑,所以我只在 Linux 服务器上使用 UrBackup。 Linux Deploy 提供的发行版和版本支持很有限。我试验了 Centos7、Ubuntu 18.04 和 Debian 10,其中只有 Debian 10 能够毫无错误地运行。UrBackup 对 Debian 的支持也为最好(其他发行版都没有 ARM64 的 .deb 包)。
root 手机。具体做法请参考相关文档,不在此赘述。 安装 Linux Deploy 并部署 Debian Buster。 安装 UrBackup 服务器。 连接客户端。
准备工作
root Android手机
确保你使用的 boot.img 文件与手机当前的引导程序版本相符。 如果你使用的是 Android 11,而且 Magisk 程序无法正常工作,请降级到 Android 10再试。我在 Pixel 4a 上摆弄了一整天的 Android 11。 如果你不想使用 Magisk,请非常谨慎地使用其他工具。有很多其他应用程序可能含有恶意软件。CF-Auto-Root 也是一款很好的 root 工具,但请确认下载源的安全。
可选设备(强烈推荐)
尽管从技术的角度来看,你可以将备份存储在 SD 卡上,但不建议这样做。SD 卡的速度较慢,可靠性较低,并且无法长时间处理持续写入。如果你计划备份到SD 卡,那么估计一年内就会损坏(如果数据量大,甚至一个月内就会出问题)。
第一步:安装 Linux Deploy 并部署 Debian Buster
1-1. 在 root 完手机后,打开 GitHub,下载 Linux Deploy 和 BusyBox的 .apk 软件包,安装这两个应用。
第二步:安装 UrBackup 服务器
2-1. SSH 到新部署的服务器。
apt update && apt upgrade -y && apt install wget
wget https://hndl.urbackup.org/Server/2.4.13/urbackup-server_2.4.13_arm64.deb
mkdir -p /mnt/backup
chown urbackup /mnt/backupchgrp urbackup /mnt/backup
/usr/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime
nano /usr/bin/urbackupsrv-star
#!/bin/sh/usr/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime
chmod 755 /usr/bin/urbackupsrv-start
urbackupsrv-start
pkill urbackup
crontab -e
@reboot chown urbackup [full/path/to/backup_directory] && chgrp urbackup [full/path/to/backup_directory] && urbackupsrv-start
第三步:连接客户端
service urbackupclientbackend status
service urbackupclientbackend start
urbackupclientctl set-settings \-k internet_mode_enabled -v true \-k internet_server -v "YOUR_SERVER_IP" \-k internet_server_port -v "55415" \-k computername -v "YOUR_CLIENT_NAME" \-k internet_authkey -v "YOUR_DEFAULT_AUTHENTICATION_KEY"
urbackupclientctl add-backupdir -d FILE_PATH
pkill urbackupurbackupsrv-start